ついに来た! AWS Chatbot が一般公開(GA)になりました! Slack連携が捗ります!
ついに、AWS Chatbotが一般公開(GA)になりました!!
AWS Chatbotを使えば、「AWSとSlack」または「AWSとAmazon Chime」の連携が超簡単にできます!
- AWS上のイベントをSlackに通知する
- SlackのコマンドでLambdaを実行する
- など
追加料金が無いのも嬉しいですね!
AWS Chatbotとは
AWS Chatbot を使用すると、複数の AWS のサービスを Slack チャンネルおよび Amazon Chime チャットルームと安全かつ簡単に統合し、ChatOps を実現できるようになります。AWS Chatbot を使用すると、運用イベント、セキュリティ検出結果、または予算アラートに関する通知を、チーム全体が確認して議論できるチャットルームで受信できます。 Slack からコマンドを実行して、診断情報を取得したり、AWS Lambda 関数を呼び出したり、AWS サポートのケースを作成したりできます。
https://aws.amazon.com/jp/chatbot/faqs/
AWS Chatbotの対応サービス
- CloudWatch
- Security Hub
- GuardDuty
- など
参考: Using AWS Chatbot with other AWS services - AWS Chatbot
AWS Chatbot を使用すると、CloudWatch アラーム、Health イベント、Security Hub の検出結果、Budgets アラート、CloudFormation スタックイベントに関する通知を受け取ることができます。
https://aws.amazon.com/jp/chatbot/faqs/
CloudWatch AlarmをSlackに通知してみる
お試しとして、LambdaのエラーをSlackに通知する仕組みを作ってみます。
- SNS Topicを作成する
- AWS Chatbotを作成する
- Lambdaを作成する
- CloudWatch Alarmを作成する
- 実際にエラーを発生させる
- Slackに通知が来る!
1. SNS Topicを作成する
test-aws-chatbot-notification
を作成します。
2. AWS Chatbotを作成する
AWS ChatbotにアクセスしSlack
を選択します。
「新しいチャンネルを設定」します。
「設定名」と「通知先のチャンネル名」を入力します。
アクセス許可を設定します。ここでは同時にIAMロールの作成をしています。
最後にさきほど作成したSNSトピックを選択します。
3. Lambdaを作成する
適当なLambdaを作成します。絶対にエラーが発生するようにしています。
def lambda_handler(event, context): raise NotImplementedError('for Lambda Error')
4. CloudWatch Alarmを作成する
Lambdaで発生したエラーを通知させるための設定を行っていきます。1分間に1回以上のエラーを検知します。
アラーム状態になったとき、さきほど作成したSNSトピックに送信させます。
最後にアラーム名を入力して作成完了です!
5. 実際にエラーを発生させる
Lambdaを手動実行し、エラー発生させます。
6. Slackに通知が来る!
きました!!
さいごに
一般公開を今か今かと待ちわびていました。これから色々と遊んでみます!